import type { RouteRecordRaw } from "vue-router";
/**
 * 路由meta对象参数说明
 * meta: {
 *      title:          菜单栏及 tagsView 栏、菜单搜索名称（国际化）
 *      hidden：        是否隐藏此路由
 *      icon：          菜单、tagsView 图标，阿里：加 `iconfont xxx`，fontawesome：加 `fa xxx`
 * }
 */

/**
 * 静态路由（默认路由）(常量路由)
 * 我们的菜单就是通过遍历静态路由表得到的
 */
export const staticRoutes: Array<RouteRecordRaw> = [
	//login
	{
		path: "/login",
		name: "Login",
		component: () => import("@/views/login/index.vue"),
		meta: {
			hidden: true,
		},
	},
	//404
	{
		path: "/404",
		name: "404",
		component: () => import("@/views/error/404.vue"),
		meta: {
			hidden: true,
		},
	},
	//主页
	{
		path: "/",
		component: () => import("@/layout/index.vue"),
		redirect: "/home",
		children: [
			{
				path: "home",
				name: "Home",
				component: () => import("@/views/home/index.vue"),
				meta: {
					title: "首页",
					icon: "ele-HomeFilled",
				},
			},
		],
	},
];

/**
 * 定义动态路由(异步路由)
 * 专门 用来盛放需要权限控制才能展示的路由菜单
 * 未来用户登录以后,根据用户的权限信息,把用户权限对应的允许的路由信息交给静态路由表
 */
export const allAsyncRoutes: Array<RouteRecordRaw> = [
	//商品管理
	{
		path: "/product",
		name: "Product",
		component: () => import("@/layout/index.vue"),
		meta: {
			title: "商品管理",
			icon: "ele-PieChart",
		},
		children: [
			{
				path: "trademark",
				name: "Trademark",
				component: () => import("@/views/product/Trademark/index.vue"),
				meta: {
					title: "品牌管理",
				},
			},
			{
				path: "attr",
				name: "Attr",
				component: () => import("@/views/product/Attr/index.vue"),
				meta: {
					title: "平台属性管理",
				},
			},
			{
				path: "spu",
				name: "Spu",
				component: () => import("@/views/product/Spu/index.vue"),
				meta: {
					title: "SPU管理",
				},
			},
			{
				path: "sku",
				name: "Sku",
				component: () => import("@/views/product/Sku/index.vue"),
				meta: {
					title: "SKU管理",
				},
			},
		],
	},
	//学生管理
	{
		path: "/student",
		name: "Student",
		component: () => import("@/layout/index.vue"),
		meta: {
			title: "学生管理",
			icon: "ele-PieChart",
		},
		children: [
			{
				path: "kaoshi",
				name: "Kaoshi",
				component: () => import("@/views/Student/Kaoshi.vue"),
				meta: {
					title: "考试管理",
				},
			},
			{
				path: "kaoqin",
				name: "Kaoqin",
				component: () => import("@/views/Student/Kaoqin.vue"),
				meta: {
					title: "考勤管理",
				},
			},
		],
	},
];

/**
 * 定义任意路由
 * ：这个路由是用户随意输入路径的时候要匹配的，最终重定向到404，这个路由在注册的时候，必须是注册在最后一个
 *  */

export const anyRoutes: Array<RouteRecordRaw> = [
	/* 匹配任意的路由 必须最后注册 */
	{
		path: "/:pathMatch(.*)",
		name: "Any",
		redirect: "/404",
		meta: {
			hidden: true,
		},
	},
];
